// =================== 定义全局变量 ======================
let avatarUrl = 'image/avatar01.jpeg'; // 默认头像
let currentArticle; // 当前访问的帖子
let currentUserId;  // 当前登录用户
let profileUserId;  // 查看个人信息


// ============================ 处理导航激活效果 ===========================
function changeNavActive (boardItem) {
    // 判断当前是否为激活状态
    if (boardItem.hasClass('active') == false) {
      let activeLiEl = $('#topBoardList>.active');
      activeLiEl.removeClass('active');
      boardItem.addClass('active');
      // 请求版块中的帖子
      buildArticleList();
    }
}

// ============================ 删除导航激活效果 ===========================
function removeNavActive () {
    // 判断当前是否为激活状态
    let activeLiEl = $('#topBoardList>.active');
    if (activeLiEl) {
      activeLiEl.removeClass('active');
    }
}

//======================= 处理导航栏点击并获取帖子列表 ======================
function buildArticleList (){
  console.log('发送请求查询帖子列表');
  $('#bit-forum-content').load('article_list.html');
}

// 设置站内信接收用户信息
function setMessageReceiveUserInfo (userId, nickname) {
  console.log('userId = ' + userId);
  console.log('nickname = ' + nickname);
  $('#index_message_receive_user_id').val(userId);
  $('#index_message_receive_user_name').html('发送给: <strong>' + nickname + '</strong>');
  console.log('value = ' + $('#index_message_receive_user_id').val());
}

// 全局站内信通知刷新函数
function checkNewMessages() {
  console.log("开始检查未读站内信...");
  // 获取当前未读站内信数量
  $.ajax({
    type: 'get',
    url: 'message/getUnreadCount',
    success: function(res) {
      console.log("未读站内信查询结果:", res);
      if(res.code == 0) {
        // 如果有未读消息，显示通知小红点
        if(res.data > 0) {
          console.log("有未读站内信:", res.data);
          $('#index_nva_message_badge').show();
          // 更新未读消息数量
          $('#index_nva_message_badge').text(res.data);
          // 使用浏览器通知（如果支持）
          if ("Notification" in window && Notification.permission === "granted") {
            new Notification("您有新的站内信", {
              body: "您有" + res.data + "条未读站内信",
              icon: "./image/avatar01.jpeg"
            });
          }
        } else {
          console.log("没有未读站内信");
          $('#index_nva_message_badge').hide();
        }
      } else {
        console.error("获取未读站内信失败:", res.message);
      }
    },
    error: function(xhr, status, error) {
      console.error("未读站内信请求错误:", status, error);
      console.error("HTTP状态码:", xhr.status);
      if (xhr.status === 302) {
        console.warn("用户未登录，已重定向到登录页面");
      }
    }
  });
  
  // 同时查询所有站内信列表
  $.ajax({
    type: 'get',
    url: 'message/getAll',
    success: function(res) {
      console.log("所有站内信查询结果:", res);
      if(res.code == 0) {
        console.log("站内信列表长度:", res.data ? res.data.length : 0);
        if(res.data && res.data.length > 0) {
          // 打印第一条消息的信息
          console.log("最新站内信:", res.data[0]);
        }
      } else {
        console.error("获取站内信列表失败:", res.message);
      }
    },
    error: function(xhr, status, error) {
      console.error("站内信列表请求错误:", status, error);
    }
  });
}

// 启动定时检查
$(function() {
  // 每30秒检查一次新消息
  setInterval(checkNewMessages, 30000);
  
  // 初始加载时检查
  checkNewMessages();
  
  // 请求通知权限
  if ("Notification" in window && Notification.permission !== "granted" && Notification.permission !== "denied") {
    Notification.requestPermission();
  }
});
